Représentation des données : types et valeurs de base - NSI

Nombres flottants

Exercice 1 : Norme IEEE 754: conversion pas à pas d'un nombre en simple précision en flottant

Représentation en norme IEEE-754 d'un nombre flottant

Exemple: On considère le nombre ci-dessous en binaire norme IEEE-754 en simple précision:

0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
s
Exposant (8 bits)
Mantisse (23 bits)
Convertir ce nombre en décimal
  • Le bit de signe est 0 donc le nombre est positif
  • L'exposant : sur \( k \) bits, on a \( exposant = décalage + 2^{k-1} - 1 \):
    • On est en simple précision donc \( k = 8 \)
    • On convertit l'exposant en décimal: \( (1000 0100)_2 = (132)_{10} \)
    • \( 132 = décalage + 2^{8-1} - 1 \iff 132 = décalage + 128 - 1 \iff décalage = 5 \)
  • La mantisse :
    • Le décalage est \( 5 \).
    • La mantisse est \( m = 0110 0110 \).
    • On décale la virgule: \( (1,01100110)_{2} \times 2^5 = (101100,110)_2 \) .
    • On convertit en décimal le nombre: \( (101100,110)_2 = 1 \times 2^5 + 1 \times 2^3 + 1 \times 2^2 +1 \times 2^{-2} + 1 \times 2^{-2} = 44,75 \)
Donc ce nombre est égal à \( +44,75 \)

On considère le nombre flottant en binaire norme IEEE 754 en simple précision suivant :
\[ 1\,10001000,01101001\,10100000\,0000000 \]

1. Ce nombre est-il positif ou négatif ?
2. a. Déterminer la représentation en base 10 de l'exposant.
2. b. Comme on est en simple précision, que vaut \( k \) ?
2. c. En déduire le décalage \( d \).
3. En déduire la représentation en base 10 de ce nombre.

Exercice 2 : Norme IEEE 754: conversion d'un flottant en simple précision

Représentation en norme IEEE-754 d'un nombre flottant

Chaque nombre réel \(x\) peut s'écrire sous la forme: \(x = (-1)^{signe} \times 1,mantisse \times 2^{décalage}\)
De plus \(exposant = décalage + 2^{k-1} - 1\), où \(k\) est le nombre de bits pour l'exposant.

  • Exemple: Convertir le nombre réel \(-1039\) en binaire norme IEEE-754 en simple précision.
  • Le nombre est négatif donc le bit de signe est 1.
  • La mantisse :
    • On convertit en binaire le nombre \(1039\) : \((1039)_{10} = (0000010000001111,)_2\)
    • On décale la virgule : \((0000010000001111,)_2 = (1,0000001111)_2 \times 2^{10}\).
    • La mantisse est \(m = 0000001111\)(on complète par des 0 pour avoir les 23 bits).
    • Le décalage est 10.
  • L'exposant : sur \(k\) bits on a \(exposant = décalage + 2^{k-1} - 1\):
    • On est en simple précision donc \(k = 8\)
    • \(exposant = 10 + 2^{8-1} - 1 = 137\)
    • On convertit 137 en binaire: \((137)_{10} = (1000 1001)_2\) donc \(exposant = 10001001\)
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
s
Exposant (8 bits)
Mantisse (23 bits)
  • On peut également convertir en hexadécimal en regroupant les bits par 4: C4 81 E0 00
Donner la représentation binaire en virgule flottante, en simple précision, du nombre \(-361,75\).
,

Exercice 3 : Norme IEEE 754: conversion d'un nombre en simple précision en flottant

Donner la représentation binaire en virgule flottante, en simple précision, du nombre:
\(110000110,01001111100000000000000\)

Représentation en norme IEEE-754 d'un nombre flottant

Exemple: On considère le nombre ci-dessous en binaire norme IEEE-754 en simple précision:

0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
s
Exposant (8 bits)
Mantisse (23 bits)
Convertir ce nombre en décimal
  • Le bit de signe est 0 donc le nombre est positif
  • L'exposant : sur \(k\) bits, on a \(exposant = décalage + 2^{k-1} - 1\):
    • On est en simple précision donc \(k = 8\)
    • On convertit l'exposant en décimal: \((1000 0100)_2 = (132)_{10}\)
    • \(132 = décalage + 2^{8-1} - 1 \iff 132 = décalage + 128 - 1 \iff décalage = 5\)
  • La mantisse :
    • Le décalage est \(5\).
    • La mantisse est \(m = 0110 0110\).
    • On décale la virgule: \((1,01100110)_{2} \times 2^5 = (101100,110)_2\) .
    • On convertit en décimal le nombre: \((101100,110)_2 = 1 \times 2^5 + 1 \times 2^3 + 1 \times 2^2 +1 \times 2^{-2} + 1 \times 2^{-2} = 44,75\)
Donc ce nombre est égal à \(+44,75\)

Exercice 4 : Raisonnement sur les nombres binaires à virgule fixe

Parmi les nombres binaires à virgule fixe suivants, le ou lesquels sont strictement supérieurs à \( 11,9705 \) ?

Exercice 5 : Représentation des nombres flottants à virgule fixe

Trouver la ou les écritures binaires en virgule fixe du nombre \( 7,625 \) ?
False